cmake_minimum_required(VERSION 3.10)
project(SubProject)
file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/gen.cxx) # require generation
add_custom_command(
  OUTPUT gen.cxx
  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gen.cxx.in
  COMMAND ${CMAKE_COMMAND} -E copy
             ${CMAKE_CURRENT_SOURCE_DIR}/gen.cxx.in gen.cxx
  )
add_custom_target(gen DEPENDS gen.cxx)
add_library(bar bar.cxx)
target_include_directories(bar PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
add_dependencies(bar gen)
add_executable(car car.cxx)
add_subdirectory(foo)
